package com.jr.service;


import com.jr.entity.UserJobEnterprise;
import com.jr.util.PageHelper;

import java.util.List;

/**
 * 用户工作企业三表关联
 *
 * @author Snoopy
 * @since 1.0.0 2022-12-31
 */
public interface UserJobEnterpriseService {

    /**
     * 分页查询所有工作
     */
    List<UserJobEnterprise> queryJobAll(PageHelper<UserJobEnterprise> pageHelper);

    /**
     * 查询所有用户关注的工作列表
     */
    List<UserJobEnterprise> queryJobAllByUid(PageHelper<UserJobEnterprise> pageHelper);

    /**
     * 查询单个工作的详细信息以及是否被申请
     */
    UserJobEnterprise selectOneJobWithUid(PageHelper<UserJobEnterprise> pageHelper);

    /**
     * 查询企业发布工作 使用分页工具类的属性对象，没有进行分页
     */
    List<UserJobEnterprise> queryJobsByEid(PageHelper<UserJobEnterprise> pageHelper);

    /**
     * 添加用户与工作的关注或者申请状态
     */
    int addUserJobEnterprise(UserJobEnterprise userJobEnterprise);

    /**
     * 查询用户关注或已申请工作状态
     */
    UserJobEnterprise queryUserJobEnterprise(UserJobEnterprise userJobEnterprise);

    /**
     * 更改用户申请或关注状态
     */
    int modifuUserJobEnterprise(UserJobEnterprise userJobEnterprise);
    /**
     * 删除用户关注和申请为空的数据
     */
    int removeByJobuserstatusAndJobuserattentionWithUser();
    /**
     * 计算用户已申请的职位个数
     */
    int countNumbersOfJobsByUid(PageHelper<UserJobEnterprise> pageHelper);

    /**
     * 计算所有工作的条数
     */
    int countNumbersOfJobs(PageHelper<UserJobEnterprise> pageHelper);



}